package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;

/**
 * 收货人地址业务对象 p_user_address
 *
 * @author ruoyi
 * @date 2022-08-05
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("收货人地址业务对象")
public class PUserAddressBo extends BaseEntity {

    /**
     * 用户地址id
     */
    @ApiModelProperty(value = "用户地址id")
    private Long id;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Long uid;

    /**
     * 收货人姓名
     */
    @ApiModelProperty(value = "收货人姓名")
    @NotBlank(message = "收货人姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String realName;

    /**
     * 收货人电话
     */
    @ApiModelProperty(value = "收货人电话")
    @NotBlank(message = "收货人电话不能为空", groups = { AddGroup.class, EditGroup.class })
    private String phone;

    /**
     * 收货人所在省
     */
    @ApiModelProperty(value = "收货人所在省")
    @NotBlank(message = "收货人所在省不能为空", groups = { AddGroup.class, EditGroup.class })
    private String province;

    /**
     * 收货人所在市
     */
    @ApiModelProperty(value = "收货人所在市")
    @NotBlank(message = "收货人所在市不能为空", groups = { AddGroup.class, EditGroup.class })
    private String city;

    /**
     * 收货人所在区
     */
    @ApiModelProperty(value = "收货人所在区")
    @NotBlank(message = "收货人所在区不能为空", groups = { AddGroup.class, EditGroup.class })
    private String district;

    /**
     * 收货人详细地址
     */
    @ApiModelProperty(value = "收货人详细地址")
    @NotBlank(message = "收货人详细地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String detail;

    /**
     * 邮编
     */
    @ApiModelProperty(value = "邮编")
    private Integer postCode;

    /**
     * 经度
     */
    @ApiModelProperty(value = "经度")
    private String longitude;

    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度")
    private String latitude;

    /**
     * 是否默认 0 否 1 是
     */
    @ApiModelProperty(value = "是否默认")
    private String isDefault;

    /**
     * 是否删除
     */
    @ApiModelProperty(value = "是否删除")
    private String delFlag;
}
